#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

struct BinaryTreeNode;
typedef struct BinaryTreeNode* LNDataType;
typedef struct listNode
{
	LNDataType data;
	struct listNode* next;
}LN;
typedef struct queue
{
	LN* head;
	LN* tail;
}QL;

void queueInit(QL* que);
int queueEmpty(QL* que);
void queuePush(QL* que, LNDataType data);
void queuePop(QL* que);
LNDataType queueFront(QL* que);
LNDataType queueBack(QL* que);
int queueSize(QL* que);
void queueDestroy(QL* que);